草庐IT

1.9 桶排序

全部标签

Ruby 1.9 正则表达式作为哈希键

我正在使用ruby1.9.2p136(2010-12-25)[i386-mingw32].它没有按预期工作(编辑:事实证明它不应该像我预期的那样工作):irb(main):004:0>myhash={/(\d+)/=>"hello"}=>{/(\d+)/=>"Hello"}irb(main):005:0>myhash[2222]=>nilirb(main):006:0>myhash["2222"]=>nil在Rubular在ruby​​1.8.7上regex有效。我错过了什么? 最佳答案 你在寻找这种行为吗?myhash=Hash.

ruby-on-rails - Ruby 排序依据(整数) "comparison of NilClass with 3200 failed"

我想在Rails应用程序中对我的记录进行排序:@ebms=Ebm.all@ebms.sort_by!{|u|u.number}u.number被定义为整数!问题是Rails无法将它与nil进行比较:comparisonofNilClasswith32400failed我该怎么做才能避免这个错误? 最佳答案 尝试将nil转换为整数怎么样?@ebms=Ebm.all@ebms.sort_by!{|u|u.number.to_i} 关于ruby-on-rails-Ruby排序依据(整数)"co

ruby-on-rails - Rails 3. 按关联模型排序

假设我有两个模型:Course和ScheduledCourse。类(class)模型有一个名称属性。coursehas_many:预定类(class)scheduled_courses:属于类(class)coursesid|name1|biology2|history3|chemistry4|literaturescheduled_coursesid|course_id1|22|43|14|2如何进行ActiveRecord查询以按字母顺序对安排的类(class)进行排序? 最佳答案 尝试...ScheduledCourse.jo

ruby-on-rails - Ruby 中的 Podium 样式排序

鉴于我有哈希数组,我怎样才能将它们排序(使用ruby​​)为podium样式(使用它们的created_at值),如下图所示?[{created_at:"DATETIME",src:"..."},{created_at:"DATETIME",src:"..."},{created_at:"DATETIME",src:"..."},{created_at:"DATETIME",src:"..."}] 最佳答案 arr.sort_by{|a|a['created_at']}.inject([]){|r,e|r.reverse有趣的问题!

ruby-on-rails - 如何在 Ruby 中创建自定义排序方法

我想指定一个自定义block方法,通过评估两个属性对对象数组进行排序。然而,经过多次搜索,我没有找到任何没有的例子。运营商。我要比较a至b:ifa.xlessthanb.xreturn-1ifa.xgreaterthanb.xreturn1ifa.xequalsb.x,thencomparebyanotherproperty,likea.yvsb.y这是我的代码,它不起作用:ar.sort!do|a,b|ifa.xb.xreturn1elsereturna.yb.yend这个block在一个函数内return正在退出函数并返回-1. 最佳答案

ruby - 如何在 Ruby 1.9 中只获取有序哈希的一个子集?

让我们举个例子:d={"a"=>1,"b"=>2,"c"=>3,"d"=>4}由于哈希现在是有序的,我可能想要从a到b或从c到d。问题是我无法执行d[0..1]或d[2..3]。不过我可以这样做:irb>d.to_a[0..1]=>[["a",1],["b",2]]...但这感觉很乱,我不想为这样的操作转换我的哈希值。是否有更清洁的解决方案来处理这个问题?#HolyGrailirb>d[0..1]=>{"a"=>1,"b"=>2}我可以看到如何为自己编写这样的方法,但可能已经有一些原生的东西我可以使用...? 最佳答案 你可以这样做

ruby-on-rails - 如何使用 Ruby 1.9 在 Rails 中使用美式日期?

我在美国,我们通常将日期格式化为“月/日/年”。我试图确保我的Rails应用程序(使用Ruby1.9)在任何地方都采用这种格式,并按照它在Ruby1.8下的方式工作。我知道很多人都有这个问题,所以我想在这里创建一个权威指南。具体来说:“04/01/2011”是2011年4月1日,而不是2011年1月4日。“4/1/2011”也是2011年4月1日-不需要前导零。我该怎么做?这是我目前所拥有的。控制Date#to_s行为我在application.rb中有这一行:#Formatourdateslike"12/25/2011'Date::DATE_FORMATS[:default]='%m

ruby - ruby 1.9 的 Vim 语法高亮

Ruby1.9有一些新的语法元素,例如{key:value}哈希文字语法。有没有人写过或看过更新的syntax/ruby.vim突出显示文件,它会突出显示key:就像它突出显示中的:key{:key=>value}? 最佳答案 试试github上的最新版本:http://github.com/vim-ruby/vim-ruby/blob/master/syntax/ruby.vim它于2009年12月更新,似乎用新的哈希文字做了正确的事情。 关于ruby-ruby1.9的Vim语法高亮,

ruby - 为什么排序或宇宙飞船(飞碟)运算符 (<=>) 在 Ruby 中不能处理 bool 值?

在“Isitpossibletosortalistofobjectsdependingoniftheindividualobject'sresponsetoamethod?”中,我发现飞碟对bool值不起作用。考虑:ruby1.8.7:[true,false].sort#=>undefinedmethod`'fortrue:TrueClass(NoMethodError)truefalse#=>undefinedmethod`'fortrue:TrueClass(NoMethodError)ruby1.9.3:[true,false].sort#=>comparisonofTrueCl

ruby - 在 Ruby 中对数组的一部分进行排序

我有一个ruby​​数组,我想对从索引i开始到索引j的所有元素进行排序。不应修改数组的其余部分。我该如何实现? 最佳答案 您可以使用a[i,j]=a[i,j].sort!从索引i排序索引j.示例:a=[8,7,5,4,3]a[2..4]=a[2..4].sort!a#=>[8,7,3,4,5] 关于ruby-在Ruby中对数组的一部分进行排序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest